====== Installer ubuntu via un terminal grâce à debootstrap et à chroot ======
{{tag>BROUILLON}}
===== Introduction =====

Debootstrap est un outil performant qui sert à installer les composants essentiels du système linux. Ils est notamment utilisé dans les netinstall de debian.
Chroot est un programme permettant de changer la racine du système c'est à dire utiliser un deuxième système linux en même temps que le premier avec un seul kernel.

===== but =====

Ce tutoriel peut-être utilisé pour plusieurs buts :

-Installer un ubuntu complet à partir de n'importe quel Linux sans avoir besoins de média externe.
-Comprendre comment Linux est installé.
-créer un environnement de test sur une machine -> passez l’installation du kernel

===== Installation des programmes requis =====

(cette partie doit être adaptée à votre distribution linux)

[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>debootstrap]]**

(si vous installez une version d'ubuntu ultérieure à celles comprises dans votre version de debootstrap. Il est alors nécessaire d'installer la dernière version de debootstrap :!: instable :!: disponible ici [[http://pkgs.org/search/?keyword=debootstrap]] )


===== Fomatage et montage des disques =====

Pour un disque dur vide
on crée une partition de +- 10GO par exemple
puis le swap, ici 1GO (2 fois plus que la ram)

<code>sudo fdisk /dev/sda
Command (m for help): p
.
.
.
Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1): (Appuyez sur Entrée)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +10000
</code>
ensuite tapez a puis 1 pour la rendre bootable

-le swap
<code>Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1-3876, default 1): (Appuyez sur Entrée)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +1024M</code>

pour terminer le partitionnement :!: suppression de toutes les données du disque tapez w

formatez la première partition en ext3
<code> mke2fs -j /dev/sda1 </code>
formatez la deuxième partition en swap
<code> mkswap /dev/sda2 </code>
activez le swap
<code> swapon /dev/sda2 </code>

montez le sda1
créez le dossier install qui servira de point de montage
<code>mkdir /media/install
mount /dev/sda1 /media/install</code>

===== utilisation de debootstrap =====

L'installation est ici faite pour un ubuntu precise 12.04 32bit


<code>sudo debootstrap --include ubuntu-minimal --arch i386 precise /media/install http://archive.ubuntu.com/ubuntu</code>

===== Montages en vue d'un chroot =====

<code>sudo mount --bind /dev /media/install/dev
sudo mount --bind /dev/pts /media/install/dev/pts
sudo mount --bind /sys /media/install/sys
sudo mount -t proc /proc /media/install/proc</code>

===== Chroot =====

<code>sudo chroot /media/install /bin/bash</code>

===== Dans le chroot =====

==== montage dans le chroot ====

<code>mount -a</code>
===== Paramétrage de apt =====
[[:tutoriel:comment_modifier_sources_maj|Modifiez les sources]] et ajoutez les dépôts universe et multiverse

<code>apt-get update</code>

==== Installation des locales ====
(configurez d'abord apt)
<code>apt-get install console-data
dpkg-reconfigure console-data
dpkg-reconfigure keyboard-configuration</code>
<code>/usr/share/locales/install-language-pack fr_FR</code>
<code>dpkg-reconfigure locales</code>
<code>dpkg reconfigure tzdata</code>
<code>hwclock --systohc --utc</code>
il faut mettre l'heure en non utc
<code>apt-get install nano</code>
<code>nano /etc/default/rcS</code>
il faut y mettre UTC=no

on sort du chroot
<code>exit</code>

===== on paramètre le hostname et fstab =====

==== copie des fichier nécéssaires ====

<code>sudo cp /etc/hosts /etc/hostname /etc/resolv.conf  /media/install/etc/hostname
sudo cp /etc/network/interfaces /media/install/etc/network
sudo cp /etc/fstab /media/install/etc</code>

<code>sudo chroot  /media/install/ /bin/bash</code>

Il faut trouver les uid de chaque partition afin de les mettre dans le fstab
(le fstab se load avant que les nom sda1 etc ne soit attribués il faut donc lui donner le nom unique de la partition)
<code>blkid</code>
<code>nano /etc/fstab</code>
voici un exemple ( à ne pas reprendre tel quel)
<code>proc                                      /proc           proc        defaults          0 0
UUID=34bf3784-2c97-48e3-92ce-025e3cd6344c /               ext4        errors=remount-ro 0 1
UUID=57a6f7ec-8de6-4f47-a244-f171c6a41ab3 /home           ext4        defaults          0 2
UUID=cfe0a0d6-3280-4104-878d-efede6cce024 none            swap        sw                0 0
/dev/cdrom                                 /cdrom   udf,iso9660 user,noauto       0 0
/dev/fd0                                  /media/floppy0  auto        rw,user,noauto    0 0
</code>

ensuite créer les point de montages
<code>mkdir /cdrom /media/floppy0</code>

===== Installer le kernel et grub =====

Installation du kernel lui-même.

(ici, celui installé est un pae, pour les plus vielles machinne installez un kernel non pae)
<code>apt-get install linux-image-generic-pae</code>

installation de grub
<code>sudo apt-get install grub-pc
update-grub</code>
<code>exit</code>

Installatition des backports
<code>sudo cp /etc/kernel-img.conf /media/install/etc/kernel-img.conf
sudo chroot  /media/install/ /bin/bash
apt-get install linux-backports-modules-cw-3.3-precise-generic-pae</code>


===== mot de passe =====

Afin que tout le monde n'ai pas accès aux droit root, il faut mettre un mot de passe.
<code>passwd</code>


Voilà, ubuntu est installé.

Regardez aussi
[[:tasksel|http://doc.ubuntu-fr.org/tasksel]]


Sources externes :

[[http://www.isalo.org/wiki.debian-fr/index.php?title=Installation_squeeze_chroot_debootstrap]]

[[http://www.gentoo.org/doc/fr/handbook/handbook-x86.xml]]